﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using QLT_BLL;
using QLT_Public;
using QLThuoc_report;

namespace GiaoDien
{
    public partial class uc_Thuoc : DevExpress.XtraEditors.XtraUserControl
    {
        public uc_Thuoc()
        {
            InitializeComponent();
        }

        private void bii_Them_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            frm_Thuoc f = new frm_Thuoc();
            f.Flag = 0;
            f.MyGetData = new frm_Thuoc.GetInt(GetLoad);
            f.ShowDialog();
        }
        //nhân dữ liệu từ frm thuốc
        public void GetLoad(int kt)
        {
            txt_Load.Text = kt.ToString();
        }
        private void bii_Sua_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {//lấy dữ liệu ở gridviw đổ sang form Sửa
            frm_Thuoc f = new frm_Thuoc();
            f.Flag = 1;
            f.MyGetData = new frm_Thuoc.GetInt(GetLoad);
            f.MaThuoc = Convert.ToInt32(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Mã Thuốc"));
            f.TenThuoc = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Tên Thuốc").ToString();
            f.TenNCC = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Nhà Cung Cấp").ToString();
            f.MaLoaiThuoc =gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Loại Thuốc").ToString();
            f.SoLuongTon = Convert.ToInt32(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Số Lượng"));
            f.DVT = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Đơn Vị Tính").ToString();
            f.XuatXu =gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Xuất Xứ").ToString();
            f.HanDung = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Hạn Dùng").ToString();
            f.TacDung = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Tác Dụng").ToString();
            f.GiaTien= gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Giá Tiền").ToString();//vì giá tienf là float nên bên kia se để là string
            f.ShowDialog();
        }

        private void barButtonItem2_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {// cái này là cái j đây
            //frm_Thuoc f = new frm_Thuoc();
            //f.Flag = 2; 
            //f.ShowDialog();
           
        }
        Thuoc_BLL thuoc_bll = new Thuoc_BLL();
        private void uc_Thuoc_Load(object sender, EventArgs e)
        {
            gridControl1.DataSource = thuoc_bll.LayDuLieu();
            txt_Load.Hide();
        }
        NhatKy_Bll nhatKy_bll = new NhatKy_Bll();
        private void bbi_Xoa_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            try
            {
                Thuoc_Public t = new Thuoc_Public();
                t.MaThuoc = Convert.ToInt32(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Mã Thuốc"));// lấy đứng tên có dấu khi mà nó hiển thị tren gridview
                t.TenThuoc = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Tên Thuốc").ToString();
                if (XtraMessageBox.Show("Bạn có muốn xóa thuốc: '" + t.TenThuoc + "' có mã là: '" + t.MaThuoc + "' này không?", "Thông Báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
                {
                    NhatKy_Public nk = new NhatKy_Public();
                    string d = DateTime.Now.ToString();
                    Class_TrungGian tg = new Class_TrungGian();
                    nk.TaiKhoan = tg.TaiKhoan;
                    nk.NgayGio = d;
                    nk.DoiTuong = tg.DoiTuong;
                    nk.HanhDong = "Xóa";
                    nk.MoTa = "Xóa thông tin Thuốc: '" + t.TenThuoc + "'";
                    nhatKy_bll.insert_NhatKy(nk, nk, nk, nk, nk);
                    thuoc_bll.delete_Thuoc(t);// nó sẽ lấy cái t đầu tiên,nếu để t.ten thuocs lên đầu sẽ ko thực hiện dc
                    uc_Thuoc_Load(sender, e);
                }
            }
            catch (Exception)
            {
                XtraMessageBox.Show("Không thể xóa do có bản ghi phụ thuộc!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }

        private void bbi_Xem_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {//xem
            frm_Thuoc f = new frm_Thuoc();
            f.Flag = 2;
            f.MyGetData = new frm_Thuoc.GetInt(GetLoad);
            f.MaThuoc = Convert.ToInt32(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Mã Thuốc"));
            f.TenThuoc = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Tên Thuốc").ToString();
            f.TenNCC = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Nhà Cung Cấp").ToString();
            f.MaLoaiThuoc =gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Loại Thuốc").ToString();
            f.SoLuongTon = Convert.ToInt32(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Số Lượng"));
            f.DVT = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Đơn Vị Tính").ToString();
            f.XuatXu = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Xuất Xứ").ToString();
            f.HanDung = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Hạn Dùng").ToString();
            f.TacDung = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Tác Dụng").ToString();
            f.GiaTien = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Giá Tiền").ToString();//vì giá tienf là float nên bên kia se để là string
            f.ShowDialog();
        }

        private void gridControl1_DoubleClick(object sender, EventArgs e)
        {
            frm_Thuoc f = new frm_Thuoc();
            f.Flag = 2;
            f.MyGetData = new frm_Thuoc.GetInt(GetLoad);
            f.MaThuoc = Convert.ToInt32(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Mã Thuốc"));
            f.TenThuoc = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Tên Thuốc").ToString();
            f.TenNCC = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Nhà Cung Cấp").ToString();
            f.MaLoaiThuoc =gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Loại Thuốc").ToString();
            f.SoLuongTon = Convert.ToInt32(gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Số Lượng Tồn"));
            f.DVT = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Đơn Vị Tính").ToString();
            f.XuatXu = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Xuất Xứ").ToString();
            f.HanDung = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Hạn Dùng").ToString();
            f.TacDung = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Tác Dụng").ToString();
            f.GiaTien = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "Giá Tiền").ToString();//vì giá tienf là float nên bên kia se để là string
            f.ShowDialog();
        }

        private void txt_Load_TextChanged(object sender, EventArgs e)
        {
            if (txt_Load.Text == "1")
            {
                uc_Thuoc_Load(sender,e);
                txt_Load.Text = "0";
            }
        }

        private void bbi_CapNhatSoLuong_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            frm_CapNhatSoLuongTon f = new frm_CapNhatSoLuongTon();
            f.ShowDialog();
        }

        private void bbi_In_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            Frm_DanhMucThuoc f = new Frm_DanhMucThuoc();
            f.ShowDialog();
        }
    }
}
